﻿/**************************************************************************
创建日期:	2019/6/19
作	  者:	张存
邮 	  箱:	zhangcunliang@126.com
创建时间:
Copyright (c)  ZhCun.cn

描	述： 此脚本应引用在zhcun.utils.js 之后，不能通过脚本动态导入"zhcun.utils.js"
         使用ajax加密请求，需要导入 aes.js 与 jsencrypt.js
记	录：
    2020.7.3    body加密改为动态公钥及开启
***************************************************************************/

/**
 * 服务器请求根地址，如果前后完全分离，应改为对应的服务器地址 
 * */
var MAIN_HOST = window.location.origin;

var layuiApps = ["jquery"];
var layuiUseEvent = [];

importScript("/js/aes.js");
importScript("/js/jsencrypt.js");

//setJqueryAjaxSetup(pubKey,"BodyEncryptKey");

function setEncrypt() {

    var encryptKey = sessionStorage.getItem("Encrypt_Key");
    var encryptName = sessionStorage.getItem("Encrypt_Name");

    if (encryptKey == null || encryptName == null) {
        jqJsonPost(MAIN_HOST + "/api/apiUser/GetEncryptArg", null,
            function (data) {
                if (data.code == 0) {
                    encryptKey = data.data.EncryptKey;
                    encryptName = data.data.EncryptName;
                    setJqueryAjaxSetup(encryptKey, encryptName);
                } else {
                    encryptKey = "";
                    encryptName = "";
                }
                sessionStorage.setItem("Encrypt_Key", encryptKey);
                sessionStorage.setItem("Encrypt_Name", encryptName);
            });
    } else {
        setJqueryAjaxSetup(encryptKey, encryptName);
    }
}

setEncrypt();

/**
 * 当前页面加入要引用的layui模块，如:form,table 等
 * @param {String} app
 */
function addLayuiApp(app) {
    layuiApps.push(app);
}

/**
 * 增加layui初始化完成之后处理的事件，如：jquery（$）
 * @param {Function} callback 回调方法
 */
function addLayuiUseEvent(callback) {
    layuiUseEvent.push(callback);
}

/**
 * 关闭layui的所有层
 * */
function closePage() {
    parent.layer.closeAll("iframe");
}

/**
 * 关闭当前的tab页
 * */
function closeTabPage() {
    var topAdmin = parent === self ? admin : parent.layui.admin;
    topAdmin.closeThisTabs();
}

/**
* 使用 layui ，并赋值jquery对象到变量 $
* @param {Function} callback
*/
function useLayUI(callback) {
    layui.use(layuiApps, function () {
        //console.log(layuiApps, layuiUseEvent);
        //$ = layui.jquery;
        for (var i = 0; i < layuiUseEvent.length; i++) {
            var fn = layuiUseEvent[i];
            fn();
        }
        if (callback) {
            callback();
        }
    });
}

//layui.config({
//    base: '../layuiadmin/' //静态资源所在路径
//}).extend({
//    index: 'lib/index' //主入口模块
//}).use('index');
